#include <atlbase.h>
#include <atlwin.h>
#include <atlapp.h>


using namespace ATL;
//CAppModule _Module;

typedef CWinTraits<WS_OVERLAPPED | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_MINIMIZEBOX, 0> CDionWndTraits;
class CWnd1 : public CWindowImpl<CWnd1,CWindow,CDionWndTraits>
{
public:
	DECLARE_WND_CLASS(_T("hmoChat:hmoFontWnd"))
	virtual BOOL ProcessWindowMessage(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT& lResult, DWORD/*dwMsgMapID*/)
	{
		return false;
	}
};

int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow)
{
	HRESULT hRes = ::CoInitialize(NULL);
	// If you are running on NT 4.0 or higher you can use the following call instead to 
	// make the EXE free threaded. This means that calls come in on a random RPC thread.
	//	HRESULT hRes = ::CoInitializeEx(NULL, COINIT_MULTITHREADED);
	ATLASSERT(SUCCEEDED(hRes));

	// this resolves ATL window thunking problem when Microsoft Layer for Unicode (MSLU) is used
	::DefWindowProc(NULL, 0, 0, 0L);

//	AtlInitCommonControls(ICC_BAR_CLASSES);	// add flags to support other controls

//  	hRes = _Module.Init(NULL, hInstance);
//  	ATLASSERT(SUCCEEDED(hRes));

	CWnd1 wnd1;
	HWND hwnd1 = wnd1.Create(NULL,CWindow::rcDefault,_T("wnd1"));
	wnd1.CenterWindow();
	wnd1.ShowWindow(SW_SHOW);
	wnd1.DestroyWindow();

/*	_Module.Term();*/
	::CoUninitialize();
	return 0;
}